#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "spiechart.h"
#include "bitmapinode.h"
#include "bitmapblock.h"
#include "directory.h"
#include "dialogui.h"
#include <QTimer>
#include "QtGui/qevent.h"
#include <iostream>
#include <QDateTime>

extern "C" {
#include "filesystem/filesystem.h"
#include "filesystem/mini.h"
#include "filesystem/directory_management.h"
}

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void keyPressEvent(QKeyEvent *event);
    void closeEvent(QCloseEvent *e);
    
private:
    Ui::MainWindow *ui;
    QTimer *timer;
    SPieChart *sPieChart;
    BitmapInode *bitmapInode;
    BitmapBlock *bitmapBlock;
    DialogUI *dialogUI;
    void setUp();
    void updateTree();

public slots:
    void update();
};

#endif // MAINWINDOW_H
